IT运维基本概念
系统运维
聚焦基础设施稳定性,通过监控工具(如Zabbix、Prometheus)实时追踪服务器、网络及操作系统状态,实施负载均衡、几余设计,快速响应硬件故障或性能瓶颈,确保业务连续性。
自动化运维
以效率提升与标准化为目标,借助像Ansible自动化工具部署、配置管理及巡检任务,结合CI/CD流水线实现发布流程无人化,减少人为失误并提升迭代速度。
数据库运维
核心是数据安全与性能调优,通过定期备份恢复、主从复制保障数据可靠性,利用慢查询分析、索引优化及资源监控(如MySQLPerformance Schema)提升数据库响应效率。
容器运维
专注容器编排与弹性调度,基于Kubernetes实现容器生命周期管理、服务发现及自动扩缩容,配合lstio服务网格治理微服务,确保分布式应用的高可用与快速伸缩。
云计算运维
围绕资源弹性与成本优化,利用云平台(如AWS/Aliyun)的自动扩缩容、Serverless服务动态匹配资源需求,通过资源标签、账单分析工具优化云开支,平衡性能与成本。
信创运维
解决国产化适配与生态兼容,在鲲鹏CPU、统信0S、达梦数据库等信创体系中,完成软硬兼容性测试、系统迁移,满足政策与安全要求。
开发流程
流程:产品设计->项目研发->项目测试->项目上线->运维
研发:前端(HTML+CSS+JavaScript)+后端(Java/Python/Go)
运维:产品上线、后期的运行与维护工作都属于运维工程师范畴
| 环境 | 主要用户 | 主要用途 | 优势 |
|---|---|---|---|
| 开发环境 | 开发人员 | 编写和初步调试代码,快速验证想法 | 降低风险、提高效率、保证质量 |
| 测试环境 | 测试工程师、QA团队 | 自动化测试、功能测试、性能测试、模拟真实场景,发现隐藏问题 | 降低风险、提高效率、保证质量 |
| 生产环境 | 最终用户 | 正式对外提供服务要求高可用、高稳定、高安全 | 降低风险、提高效率、保证质量 |
工单系统
工单系统(TicketingSystem)是运维工程师和 IT支持团队在日常工作中广泛使用的工具。简单来说,它是一种用于记录、分配和处理工作请求、问题报告、变更申请等事项的系统。
网络通信”三要素“
网络通信是指在不同设备间通过网络连接进行数据传输与交换的过程。
**协议(Protocol)**:协议定义了数据在网络中传输时的规则和格式。常见的协议有 TCP/IP、UDP、HTTP/S、FTP 等它们规定了数据如何被分割、传输、接收和重组。
**IP(internet Protocol)**:IP 地址用于唯一标识网络中的每一台设备。它充当设备的“地址”,使得数据能够在网络中准确地找到目标设备。
IPV4
格式:x.x.x.x
由4个8位的二进制数组成,
每组之间用点分隔,展示形
式以10进制表示
如:192.168.88.102
IPV6格式:
由8个16位的十六进制数组成,
每组数字之间用冒号分隔。
如:2001:0db8:85a3:0000:0000:8a2e:0370:7334
**端口(Port)**:端口用于区分同一台设备上不同的应用程序或服务。在计算机网络中,一个|P 地址可以对应多个服务每个服务通过不同的端口进行通信。端口号是通信中识别应用程序的方式。
| 端口范围 | 名称 | 说明 |
|---|---|---|
| 0 ~ 1023 | 知名(保留)端口 | 通常被系统或服务使用(例如HTTP 使用端口 80,HTTPS 使用端口 443,FTP使用端口 21) |
| 1024 ~ 49151 | 注册端口 | 通常用于用户和应用程序之间的通信(如数据库服务等) |
| 49152 ~ 65535 | 动态或私有端口 | 用于临时连接或客户端通信 |
云服务器
云服务器(Cloud Server),又称云主机或弹性计算服务(Elastic Compute Service,ECS),是基于云计算技术提供的一种虚拟化服务器。
云服务器利用虚拟化技术,将物理服务器的计算资源(如CPU、内存、存储等)封装成一个或多个独立的虚拟环境,用户可以按需通过互联网远程访问和使用这些资源。
Linux目录结构
| 目录 | 作用 |
|---|---|
| /bin | 二进制命令所在目录(普通命令=>普通用户和超级管理员root) |
| /home 与 /root | 家目录,/home表示普通用户的家目录,/root表示超级用户root的家目录 |
| /opt | 额外的应用软件包,安装qq、游戏、wps办公软件 |
| /sbin | 和管理系统相关的命令,【超级管理员用】,s=super超级 |
| /tmp | 临时文件目录,这个目录被当作回收站使用 |
| /usr | 用户或系统软件应用程序目录,类似Windows中的Program files |
| /dev | /device缩写,设备文件目录,磁盘,光驱=>/dev/sr0 |
| /etc | 系统配置文件目录,启动程序,几乎所有的软件都会把自己的配置文件安装在/etc中 |

项目部署架构
更改主机名hostnamectl set-hostname node1.itcast.cn + su
MySQL
200.146 机器 → [root@node1 sql]# mysql -uroot -proot < ry-zzyl.sql 在这个位置/opt/zzyl/sql
Redis
密码:heima123456
启动Redis:[root@node1 sql]# redis-server /root/tmp/redis-6.2.4/redis.conf
测试redis-cli已连接:redis-cli ping
连接:redis-cli
项目接入阿里云OSS(key + secret)
E:\BaiduNetdiskDownload\AI运维\项目内容\后端打包文件\后端打包文件\zzyl-admin.jar\BOOT-INF\classes\application-prod.yml 托到桌面 然后改完再拖回去
开通百度千帆大模型授权老人体检报告分析
项目接入百度千帆大模型(key + secret)
依旧是上方阿里云的操作
项目管理后端部署
同上更换application-prod.yaml的redis和mysql连接的地址以及账号密码
安装jdk11
先创建放置jdk11的安装包目录
mkdir -p /export/software然后
将E:\BaiduNetdiskDownload\AI运维\项目内容\jdk\jdk\openjdk-11.0.0.2_linux-x64.tar.gz放进去
接着对jdk11安装包进行解压: 解压到 /opttar -xzf openjdk-11.0.0.2_linux-x64.tar.gz -C /opt/cd /opt/
输入ll查看 然后配置JDK环境变量vim /etc/profile 在文件的尾部添加: # JAVA_HOME export JAVA_HOME=/opt/jdk-11.0.0.2 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH 保存退出后,执行加载操作: source /etc/profile 校验: java -version# /etc/profile # System wide environment and startup programs, for login setup # Functions and aliases go in /etc/bashrc # It's NOT a good idea to change this file unless you know what you # are doing. It's much better to create a custom.sh shell script in # /etc/profile.d/ to make custom changes to your environment, as this # will prevent the need for merging in future updates. pathmunge () { case ":${PATH}:" in *:"$1":*) ;; *) if [ "$2" = "after" ] ; then PATH=$PATH:$1 else PATH=$1:$PATH fi esac } if [ -x /usr/bin/id ]; then if [ -z "$EUID" ]; then # ksh workaround EUID=`/usr/bin/id -u` UID=`/usr/bin/id -ru` fi USER="`/usr/bin/id -un`" LOGNAME=$USER MAIL="/var/spool/mail/$USER" fi # Path manipulation if [ "$EUID" = "0" ]; then pathmunge /usr/sbin pathmunge /usr/local/sbin else pathmunge /usr/local/sbin after pathmunge /usr/sbin after fi HOSTNAME=`/usr/bin/hostname 2>/dev/null` HISTSIZE=1000 if [ "$HISTCONTROL" = "ignorespace" ] ; then export HISTCONTROL=ignoreboth else export HISTCONTROL=ignoredups fi export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL # By default, we want umask to get set. This sets it for login shell # Current threshold for system reserved uid/gids is 200 # You could check uidgid reservation validity in # /usr/share/doc/setup-*/uidgid file if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then umask 002 else umask 022 fi for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do if [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then . "$i" else . "$i" >/dev/null fi fi done unset i unset -f pathmunge export JAVA_HOME=/opt/jdk-11.0.0.2 export MAVEN_HOME=/opt/maven export MYSQL_HOME=/usr/local/mysql export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$MYSQL_HOME/bin:$PATH export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH上传jar包到node2节点中
mkdir -p /opt/zzyl/backend将
E:\BaiduNetdiskDownload\AI运维\项目内容\后端打包文件\后端打包文件\zzyl-admin.jar的拖入node2节点的/opt/zzyl/backend/
cd /opt/zzyl/backend/
java -jar zzyl-admin.jar
部署前端
nginx:[3-0基础带你入行AI Linux运维_项目部署上线.pdf](file:///E:/BaiduNetdiskDownload/AI运维/3-0基础带你入行AI Linux运维_项目部署上线.pdf)
智能客服私有化大模型部署
完成大模型ECS服务器申领
安装GPU驱动
基础环境安装(Anaconda、)
模型部署上线与测试(conda搞虚拟环境、下载chatglm-6b模型知识库、上传ChatGLM-6B代码、安装依赖pip-install)
阿里云监控组件
阿里云的云监控服务(CloudMonitor)是一款简单易用、功能强大的监控工具,主要用来帮助用户实时监控阿里云上的各种资源(比如服务器、数据库、网络等),并在出现问题时及时发出警报,确保业务稳定运行。
- 开通云监控
- 打开云监控控制台
- 打开主机监控
- 为需要监控的主机安装Agent 点击自动安装[等待片刻,重新刷新对应的CPU使用率、内存使用率、磁盘使用率的数据即可出现]
系统警报服务配置
云监控中的报警服务规则配置的主要目的是帮助用户实时监控阿里云资源、线下IDC、其他云厂商产品或自定义监控数据的运行状态,并在监控指标达到预设条件时,自动触发报警通知。通过这种方式,用户可以及时获取异常信息并快速采取措施,确保业务系统的稳定性和可靠性,
设置报警联系人
报警联系人:当触发条件后,这些对应的人员信息需要提前录入需要通知相关人员设置报警联系组
报警联系组:多个联系人合并为一个组,不同的类型可以单独设置为组,告警的时候可以直接针对多个用户同时告警
设置报警规则
报警规则:帮助用户监控运行状态,并在监控指标达到预设条件时,自动触发报警通知
需求:监控CPU指标,当连续1分钟CPU使用率超过80%,邮件提醒;提醒;当连续5分钟CPU使用率超过95%,进行电话+短信+邮件;当连续3分钟CPU使用率超过90%,进行短信+邮件
报警联系人 → 设置报警联系人 → 创建报警规则 → 设置规则描述(规则名称:CPU使用率监控) 里面有紧急红色 警告黄色 普通蓝色 → 可以设置通道沉默周期 → 生效时间 → 选择报警联系人组 → 恢复通知(恢复正常通知) 👉 云监控里面有测试脚本
cpu_test.sh上传到服务器即可sh cpu_test.shsh是用来运行.sh脚本的命令
对于一些常用指标,云监控提供了一键告警方案,可以直接开启使用
系统运维常见问题
CPU负载
步骤一:确认是否存在负载过高 使用
top或htop命令查看系统的平均负载值。
第一行:load average:4.03,3.71,2.25
[如果负载值持续高于CPU核心数的0.5倍,则看你存在负载过高问题。如果超过1则负载已经较高了,当超过2~3倍意味着负载超高,需要立即解决]步骤二:排查CPU负载过高原因
原因 具体表现 如何解决 异常进程或服务占用大量CPU资源 单个进程或服务占用大量CPU资源,导致整体CPU使用率升高。 使用top或htop命令查看具体占用CPU资源的进程按Shift+P按键,按CPU使用率排序定位异常进程,然后通过Kill9终止异常进程 系统资源不足 实例CPU性能不足以支撑当前业务需求 升级实例规格或者优化业务逻辑 磁盘或网络I/O瓶颈 CPU负载高但实际CPU使用率较低,可能是磁盘或网络I/0瓶颈导致 优化磁盘读写,比如升级高性能云盘优化网络带宽:增加公网带宽或调整内网流量分布 僵尸进程或不可中断的睡眠状态 通过top命令观察,CPU使用率不高但负载值较高 ps -axjf | grep “D+” 查看是否存在僵尸进程或不可中断的睡眠状态,如果存在建议恢复其对应依赖资源或重启系统 系统遭遇病毒或恶意程序攻击 CPU使用率高但无法通过top等命令找到异常进程 通过云监控监测异常时间点,检查是否存在异常域名或IP的网络通信,如果确认,建议先备份数据,然后回滚实例并进行病毒扫描 内存爆满
步骤一:确认是否存在内存爆满 使用
top或htop命令查看系统的平均负载值。
下面那几行 MiB Mem:….
当Mem行的 free值几乎为0时,表示剩余内存几乎没有了步骤二:排查内存过高的原因
原因 具体表现 如何解决 异常进程占用大量内存 单个进程或程序长时间占用大量内存资源 使用top或htop命令查看具体占用内存资源的进程。按M按键,按内存使用率排序,定位异常进程,然后通过Kill-9终止异常进程。 系统内存不足 实例的物理内存不足以支撑当前业务需求 升级实例规格或优化业务逻辑 内存泄漏或代码缺陷 应用程序在运行过程中不断消耗内存,导致内存使用率持续升高 使用内存分析工具(如Valgrind、jprofiler、jmap等)分析应用程序的内存占用情况
根据分析结果优化业务代码,修复内存泄漏问题已删除未释放的僵尸文件 磁盘空间充足,但内存使用率仍然很高 lsof|grep deleted 查找已删除但未释放的文件,然后重启相关进程以释放内存 系统缓存或虚拟内存不足 系统缓存占用过多内存,或虚拟内存配置不足 设置Swap分区,增加虚拟内存大小
ECS服务器巡检报告
ECS服务器巡检报告一般是用于评估云服务器ECS实例及其相关资源(如磁盘、网络等)的健康状态和运行性能。该报告基于对ECS实例的全面检查,包括性能指标、安全风险、配置合规性等多个维度的分析。通过巡检报告可以提高系统的稳定性、安全性、优化资源配置和支持合规性审计工作
巡检报告主要内容:
| 内容 | 说明 |
|---|---|
| 性能监控数据 | CPU使用率、内存使用率、磁盘I/O、网络流量等关键性能指标 |
| 异常问题诊断 | 列出ECS实例在运行过程中发现的异常问题,例如高CPU利用率、磁盘I0异常、网络连接问题等。每个异常项需要附带严重等级(如Info、Warn、Critical) |
| 安全风险评估 | 检查ECS实例是否受到DDoS攻击或其他安全威胁,并提供防护建议 |
| 资源使用与配置分析 | 检查ECS实例的资源配置是否合理,例如磁盘空间是否充足、带宽是否满足业务需求,并提供优化建 |
| 事件记录与处理建议 | 监测到云盘性能达到上限或未创建快照备份等风险事件,确保系统的稳定性和数据的安全性 |
云服务器监控可视化大屏
- 打开自定义大盘 创建大盘
- 添加图表
- 根据需求添加对应监测指标
- 保存大盘